如何从0到1在linux部署thinkphp6项目 |
您所在的位置:网站首页 › tp6 service层 无法引入vendor › 如何从0到1在linux部署thinkphp6项目 |
本文介绍在linux服务器搭建(php7.1+Nginx+mysql)环境,并且通过图形化工具phpmyadmin管理mysql数据库。让我们的thinkphp6项目上述环境正常运作起来。 1、更新yum update yum upgrade 2、安装PHP&PHP-FPM //安装源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm //安装PHP和PHP-FPM yum install php71w php71w-cli php71w-fpm //安装相关扩展 yum install php71w-mbstring php71w-common yum install php71w-gd php71w-mcrypt yum install php71w-mysql php71w-xml yum install php71w-soap php71w-xmlrpc //启动PHP-FPM systemctl start php-fpm //设置开机启动 systemctl enable php-fpm 3、安装Nginx //安装nginx yum install nginx //启动nginx systemctl start nginx //使用systemctl设置开机启动 systemctl enable nginx访问http://122.51.193.95(服务器ip),显示如下图nginx欢迎页面,Nginx设置成功。 4、安装MySQL //安装MySQL源 yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm //安装MySQL yum install mysql-community-server //启动MySQL systemctl start mysql //设置开机启动 systemctl enable mysql查看安装的mysql是否已安装成功 rpm -qa|grep -i mysql看到如下图,即启动成功 5、修改MySQL密码 //找到随机生成的密码 cat /root/.mysql_secret //登录mysql(需要上面的密码) mysql -uroot -p //更改密码,密码要求大写字母、小写字母以及数字和特殊符号 alter user 'root'@'localhost' identified by 'Qw.123456'; 6、配置nginx站点(yxiaomo.cn为你的域名) vim /etc/nginx/conf.d/ngnix.conf //写入以下内容 server { //端口 listen 80; //域名 server_name yxiaomo.cn; //项目地址 root /usr/share/nginx/html/XXXX; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } // nginx支持PHP配置 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } //重启Nginx systemctl restart nginx //在/usr/share/nginx/html增加phpinfo.php文件写入以下内容通过地址http://XXX/phpinfo.php访问看到如下图,即配置成功 7、安装phpMyAdmin 1、下载phpMyAdmin首先在phpMyAdmin官方网站 phpMyAdmin - Downloads下载源码包,或者通过脚本之家进行下载:https://www.jb51.net/codes/405261.html ,下载后上传到服务器解压即可,或者通过Linux命令来下载安装(推荐) wget https://files.phpmyadmin.net/phpMyAdmin/4.6.0/phpMyAdmin-4.6.0-all-languages.tar.gz 2、解压文件 tar zxvf phpMyAdmin-4.6.0-all-languages.tar.gz 3、将phpMyAdmin-4.6.0-all-languages放到web目录下 mv phpMyAdmin-4.6.0-all-languages /usr/share/nginx/html/ 4、重新命名 mv phpMyAdmin-4.6.0-all-languages phpMyAdmin 5、访问地址尝试通过ip访问,http://本机ip地址/phpMyAdmin/,(也可通过上述nginx站点配置方式配置域名进行访问),即可看到熟悉的页面 8、部署thinkphp6项目 1、上传项目上传完整项目后,按照上述nginx站点配置方式,把项目地址配置到/usr/share/nginx/html/XXX/public,即可通过配置的地址访问项目 server { ... //项目地址 root /usr/share/nginx/html/XXXX/public; ... } 2、配置伪静态访问项目后,发现无论地址如何变化只显示首页,这是nginx不支持PATHINFO导致的,官方文档找到相应解决方法 server { ... location / { ... if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } }注意:每次修改完nginx配置后都要systemctl restart nginx,重启nginx服务方可生效 3、多应用入口识别成模块处理方法我想大部分开发者都会用到多应用模式,毕竟前台访问模块后还有后台管理模块等。 如下图,小莫新增了一个admin.php的入口文件,window正常,部署到ngnix后admin.php就被识别为admin\php 这是我们上述伪静态配置,把地址所有参数均配置到/index.php?s=/$1导致的,因此我们只需要在Nginx配置上配置admin.php的伪静态即可解决此问题。 location / { ... if (!-e $request_filename) { //这是配置伪静态,admin.php指向我们新增的admin.php入口文件 rewrite ^/admin.php/(.*)$ /admin.php?s=/$1 last; rewrite ^(.*)$ /index.php?s=/$1 last; } ... }文章来源:如何从0到1在linux部署thinkphp6项目 | 猿小莫的博客 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |